<?php

class Actividades_model extends CI_Model{

	public function get_tipoActividades(){
		$query= $this->db->get('tipo_actividad');
		return $query->result();
	}
	public function get_actividades_con_limit($limit){ //Retorna las ultimas actividades que se cargaron, $limit es la cantidad de actividades que se quieren obtener
		$this->db->select('a.*,l.nombre as localidad,u.email,d.calle,d.numero,ta.nombre as tipo_actividad,s.nombre as sede');
		$this->db->from('actividad a');
		$this->db->join('usuario u','a.id_operador=u.id_usuario');
		$this->db->join('direccion d','a.id_direccion=d.id_direccion');
		$this->db->join('localidad l','d.id_localidad=l.id_localidad');
		$this->db->join('sede s','s.id_sede=u.id_sede');
		$this->db->join('tipo_actividad ta','a.id_tipoactividad=ta.id_tipoactividad');
		$this->db->limit($limit);
		$this->db->order_by('a.id_actividad','desc');

		$query= $this->db->get();
		return $query->result();
	}

	public function get_actividades_sede($id){ //retorna las ultimas 8 actividades de una sede que se cargaron
		$this->db->select('a.*,l.nombre as localidad,u.email,d.calle,d.numero,ta.nombre as tipo_actividad,s.nombre as sede');
		$this->db->from('actividad a');
		$this->db->join('usuario u','a.id_operador=u.id_usuario');
		$this->db->join('direccion d','a.id_direccion=d.id_direccion');
		$this->db->join('localidad l','d.id_localidad=l.id_localidad');
		$this->db->join('sede s','s.id_sede=u.id_sede');
		$this->db->join('tipo_actividad ta','a.id_tipoactividad=ta.id_tipoactividad');
		$this->db->where('s.id_sede',$id);
		$this->db->limit('8');
		$this->db->order_by('a.id_actividad','desc');

		$query= $this->db->get();
		return $query->result();
	}

	public function get_all_actividades_sede($id){ //retorna todas las actividades de una sede
		$this->db->select('a.*,l.nombre as localidad,u.email,d.calle,d.numero,ta.nombre as tipo_actividad,s.nombre as sede');
		$this->db->from('actividad a');
		$this->db->join('usuario u','a.id_operador=u.id_usuario');
		$this->db->join('direccion d','a.id_direccion=d.id_direccion');
		$this->db->join('localidad l','d.id_localidad=l.id_localidad');
		$this->db->join('sede s','s.id_sede=u.id_sede');
		$this->db->join('tipo_actividad ta','a.id_tipoactividad=ta.id_tipoactividad');
		$this->db->where('s.id_sede',$id);
		$this->db->order_by('a.id_actividad','desc');

		$query= $this->db->get();
		return $query->result();
	}


	public function get_actividades(){
		$this->db->select('a.*,l.nombre as localidad,u.email,d.calle,d.numero,ta.nombre as tipo_actividad');
		$this->db->from('actividad a');
		$this->db->join('usuario u','a.id_operador=u.id_usuario');
		$this->db->join('direccion d','a.id_direccion=d.id_direccion');
		$this->db->join('localidad l','d.id_localidad=l.id_localidad');
		$this->db->join('tipo_actividad ta','a.id_tipoactividad=ta.id_tipoactividad');

		$query= $this->db->get();
		return $query->result();
	}

	public function get_actividad($id){ //retorna la actividad indicada en el parametro $id
		$this->db->select('a.*,l.nombre as localidad,l.id_localidad,u.email,d.calle,d.numero,ta.nombre as tipo_actividad');
		$this->db->from('actividad a');
		$this->db->join('usuario u','a.id_operador=u.id_usuario');
		$this->db->join('direccion d','a.id_direccion=d.id_direccion');
		$this->db->join('localidad l','d.id_localidad=l.id_localidad');
		$this->db->join('tipo_actividad ta','a.id_tipoactividad=ta.id_tipoactividad');
		$this->db->where('a.id_actividad',$id);

		$query= $this->db->get();
		return $query->result();
	}

	public function insert($data){
		if ( $this->db->insert('actividad', $data) ){
			return true;	}	
		else{
			return false;}
	}

	public function actualizar($id, $actividad){

		$this->db->where('id_actividad', $id);

		if( $this->db->update('actividad', $actividad) )
			return true;		
		else
			return false;
		
	}

	public function eliminar_actividad($id){

		$this->db->where('id_actividad', $id);

		if( $this->db->delete('actividad') )
			return true;		
		else
			return false;		
		
	}

}